// import { Client } from "@stomp/stompjs";

// import { useUserStoreHook } from "@/store/modules/user";
// import { getToken } from "@/utils/auth";

// const userStore = useUserStoreHook();
// const isConnected = ref(false);
// const socketEndpoint = ref(import.meta.env.VITE_APP_WS_ENDPOINT);

// interface MessageType {
//   type?: string;
//   sender?: string;
//   content: string;
// }

// const messages = ref<MessageType[]>([]);
// const receiver = ref("root");
// const topicMessage = ref(""); // 广播消息

// const queneMessage = ref(
//   "hi , " + receiver.value + " , 我是" + userStore.userInfo.username + " , 想和你交个朋友 ! "
// );

// let stompClient: Client;

// function connectWebSocket() {
//   stompClient = new Client({
//     brokerURL: socketEndpoint.value,
//     connectHeaders: {
//       Authorization: getToken(),
//     },
//     debug: (str: any) => {
//       console.log(str);
//     },
//     onConnect: () => {
//       console.log("连接成功");
//       isConnected.value = true;
//       messages.value.push({
//         sender: "Server",
//         content: "Websocket 已连接",
//         type: "tip",
//       });

//       stompClient.subscribe("/topic", (res: any) => {
//         messages.value.push({
//           sender: "Server",
//           content: res.body,
//         });
//       });

//       stompClient.subscribe("/user/queue/greeting", (res: any) => {
//         const messageData = JSON.parse(res.body) as MessageType;
//         messages.value.push({
//           sender: messageData.sender,
//           content: messageData.content,
//         });
//       });
//     },
//     onStompError: (frame: any) => {
//       console.error("Broker reported error: " + frame.headers["message"]);
//       console.error("Additional details: " + frame.body);
//     },
//     onDisconnect: () => {
//       isConnected.value = false;
//       messages.value.push({
//         sender: "Server",
//         content: "Websocket 已断开",
//         type: "tip",
//       });
//     },
//   });

//   stompClient.activate();
// }

// function disconnectWebSocket() {
//   if (stompClient && stompClient.connected) {
//     stompClient.deactivate();
//     isConnected.value = false;
//     messages.value.push({
//       sender: "Server",
//       content: "Websocket 已断开",
//       type: "tip",
//     });
//   }
// }

// function sendToAll() {
//   if (stompClient.connected) {
//     stompClient.publish({
//       destination: "/topic/notice",
//       body: topicMessage.value,
//     });
//     messages.value.push({
//       sender: userStore.userInfo.username,
//       content: topicMessage.value,
//     });
//   }
// }

// function sendToUser() {
//   if (stompClient.connected) {
//     stompClient.publish({
//       destination: "/app/sendToUser/" + receiver.value,
//       body: queneMessage.value,
//     });
//     messages.value.push({
//       sender: userStore.userInfo.username,
//       content: queneMessage.value,
//     });
//   }
// }

// export {
//   connectWebSocket,
//   disconnectWebSocket,
//   sendToAll,
//   sendToUser,
//   messages,
//   receiver,
//   topicMessage,
//   queneMessage,
//   isConnected,
// };
